<?php

namespace pmvc\template;

use pmvc\io\Stream;

/**
 * A {@link Template} as created by
 * {@link TemplateEngine}.
 */
interface Template {

	/**
	 * Returns a template as a string with the
	 * given variables.
	 * @param array $variables
	 * @return string
	 */
	function renderAsString(array $variables);

	/**
	 * Returns a template to the given {@link Stream}
	 * with the given variables.
	 * @param array $variables
	 * @param Stream $stream
	 */
	function render(array $variables, Stream $stream);

}

?>